from selenium import webdriver
from time import sleep


if __name__ == '__main__':

    n = 0
    while 1:
        n = n + 1
        print("第", n, "次执行")
        option = webdriver.ChromeOptions()
        option.add_argument('headless')
        # bor = webdriver.Chrome()
        # 下面不开启浏览器
        bor = webdriver.Chrome(options=option)
        bor.get('http://dekt.jiangnan.edu.cn/admin/index.html#/biz/activity/activityCenter')
        # 获取每一个活动的行的集合
        sleep(3)
        inp = bor.find_elements_by_xpath('//div[@id="loginTypeWay"]/div[3]/div/input')
        while not inp:
            bor.get('http://dekt.jiangnan.edu.cn/admin/index.html#/biz/activity/activityCenter')
            inp = bor.find_elements_by_xpath('//div[@id="loginTypeWay"]/div[3]/div/input')
        inp[0].send_keys('####')
        # 密码
        pwd = bor.find_elements_by_xpath('//div[@id="loginTypeWay"]/div[4]/div/input')
        while not inp:
            pwd = bor.find_elements_by_xpath('//div[@id="loginTypeWay"]/div[4]/div/input')
        pwd[0].send_keys('####')
        # 点击按钮
        bor.find_elements_by_xpath('//div[@id="loginTypeWay"]/div[5]/div//input')[0].click()
        sleep(5)
        # 当加载好之后才进行点击”活动“按钮
        result = bor.find_elements_by_xpath('//aside[@class="site-sidebar site-sidebar--dark"]/div/ul/li[2]')
        while not result:
            result = bor.find_elements_by_xpath('//aside[@class="site-sidebar site-sidebar--dark"]/div/ul/li[2]')
        result[0].click()
        sleep(5)
        # 点击”活动中心“
        result = bor.find_elements_by_xpath('//aside[@class="site-sidebar site-sidebar--dark"]/div/ul/li[2]/ul/li[1]')
        while not result:
            result = bor.find_elements_by_xpath('//aside[@class="site-sidebar site-sidebar--dark"]/div/ul/li[2]/'
                                                'ul/li[1]')
        result[0].click()
        # 点击招募中
        # 有两个伪装div不需要考虑
        sleep(5)
        result3 = bor.find_elements_by_xpath('//main/div/div[1]/div/div/div[2]/div')  # 莫名其妙需要添加的东西
        result = bor.find_elements_by_xpath('//main/div/div[1]/div/div/div[2]/div/div[1]/label[2]')
        while not result:
            result = bor.find_elements_by_xpath('//main/div/div[1]/div/div/div[2]/div/div[1]/label[2]')
        result[0].click()
        # 等待响应后进行每一行的读取，获取并返回所有活动
        sleep(5)
        row_fir = bor.find_elements_by_xpath('//main/div/div[1]/div/div/div[2]/div/div[2]/div[3]/table/tbody/tr')
        while not row_fir:
            row_fir = bor.find_elements_by_xpath('//main/div/div[1]/div/div/div[2]/div/div[2]/div[3]/table/tbody/tr')
        # 遍历每一个活动

        for i in row_fir:
            # detail代表每一个活动的所有详细信息，将detail数据封装到active中
            active = []
            detail = i.find_elements_by_xpath('./td')
            # 进行每一行中的每一个详细细节的读取
            # j代表每一个活动的每一个详细信息（名称/地点/报名结束时间等）
            # 将每个数据纳入到active中
            for j in detail:
                text = j.find_elements_by_xpath('./div')
                active.append(text[0].text)
            if int(active[5]) > int(active[6]):
                get_btn = detail[9].find_elements_by_xpath('./div/button[2]/span')
                get_btn[0].click()
                bor.find_elements_by_xpath('//div[@class="el-message-box"]/div[3]/button[2]/span')[0].click()
        bor.close()
